<!--  -->
<template>
<div class=''>👆
  <el-upload
    action="http://linweiqin.cn:8001/v1/addimg/avatar"
    :show-file-list="false"  
    :on-success="handleAvatarSuccess"
    :before-upload="beforeAvatarUpload"
  ><!-- lise   显示文件名加图片 -->
  <img v-if="imageUrl" :src="imageUrl" alt=""/>
  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  </el-upload>
</div>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》 from '《组件路径》';

export default {
//import引入的组件需要注入到对象中才能使用
components: {},
data() {
//这里存放数据
return {
imageUrl:''
};
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//方法集合
methods: {
  handleAvatarSuccess:function(res){
    let imageUrl = "http://linweiqin.cn:8001/img/" + res.image_path;
    this.imageUrl = imageUrl;
  },
  //上传之前的校验
  beforeAvatarUpload:function(file){
    let size_M =file.size/1024/1024;   //多少m
    let imageType = file.type.trim(); //"image/png" "image/jpg" "image/jpeg"
    let limit2M = size_M > 2 ? false : true;
    if(!limit2M){
      this.$message.error("上传文件超过2M!!");
    }
    let valid_image_type = true;
    if(imageType=="image/png" || imageType == "image/jpeg"){
      valid_image_type = true;
    } else {
      valid_image_type = false;
      this.$message.error({
        type:"warning",
        $message:"上传文件图片格式有误!!"
      });
    }
    return limit2M && valid_image_type;
    }
  },
//生命周期 - 创建完成（可以访问当前this实例）
created() {

},
//生命周期 - 挂载完成（可以访问DOM元素）
mounted() {

},
beforeCreate() {}, //生命周期 - 创建之前
beforeMount() {}, //生命周期 - 挂载之前
beforeUpdate() {}, //生命周期 - 更新之前
updated() {}, //生命周期 - 更新之后
beforeDestroy() {}, //生命周期 - 销毁之前
destroyed() {}, //生命周期 - 销毁完成
activated() {}, //如果页面有keep-alive缓存功能，这个函数会触发
}
</script>
<style  lang='less' scoped>
 .avatar-uploader-icon{
   font-size: 28px;
   color: #000;
   width: 178px;
   height: 178px;
   line-height: 178px;
   text-align: center;
   border:1px solid pink
 }
</style>